package com.jhy.review.bishi;
/**
 * 翻转链表
 * 2022年10月27日09:29:06
 * 示例:
 * 输入: 1->2->3->4->5->NULL
 * 输出: 5->4->3->2->1->NULL
 */
public class Test03 {
    public static ListNode reverseList(ListNode head){
        if(head == null){
            return null;
        }
        // 当前指针
        ListNode cur = head;
        // 前一个指针节点
        ListNode pre = null;
        // 先保存当前节点的下一个节点
        ListNode temp = cur.next;
        while(cur != null){
            cur.next = pre;
            pre = cur;
            cur = temp;
        }
        // 因为当前节点为null，就停止了 前面的节点才是头节点了。
        return pre;
     }
}

//单向链表节点
class ListNode {
    int val;
    ListNode next;
    ListNode(int x) { val = x; }
}
